package javase_class_250907;

/**
 * ClassName: InterfaceTest
 * Package: javase_class_250907
 * Description:
 *
 * @Author harkjeans
 * @Create 2025/9/7 17:22
 * @Version 1.0
 */
public class InterfaceTest {
    public static void main(String[] args) {
        Bullet bullet = new Bullet();
        bullet.fly();
        bullet.attack();
        //多态性
        Flyable bullet1 = new Bullet();
        bullet1.fly();
    }
}

interface Flyable{
    public static final int MIN_SPEED = 0;//public static final可以省略
    int MAX_SPEED = 7900;

    public abstract void fly();//public abstract可以省略
}
interface Attackable{
        void attack();
}
abstract class Plane implements Flyable{//类实现接口

}
class Bullet implements Flyable,Attackable{//可以多实现
    @Override
    public void fly(){
        System.out.println("让子弹飞");
    }
    @Override
    public void attack(){
        System.out.println("子弹击穿");
    }
}
//之前学过，在继承体系中，一个类只能继承一个父类。而对于接口而言，
// 一个类是可以实现多个接口的，这叫做接口的`多实现`。并且，一个类能继承一个父类，同时实现多个接口。

//接口可以多继承
//接口的多态性 - 接口名 变量名 = new 实现类对象 （不是子类接口是因为接口没有构造器不能构造对象）